package be.khleuven.kevinvranken;
import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;

import be.khleuven.kevinvranken.hulp.MD5;
import be.khleuven.kevinvranken.statussen.*;

public class Contactpersoon {

	private String naam;
	private String voornaam;
	private String wachtwoord;
	private IStatus status;
	private ContactpersoonLijst contactpersonen;

	public Contactpersoon(String naam, String voornaam, IStatus status) {
		this.naam = naam;
		this.voornaam = voornaam;
		status = new OfflineStatus();
	}	
	
	public boolean controleerWachtwoord(String wachtwoord){
		try {
			return this.wachtwoord.equals(MD5.getMD5(wachtwoord));
		} catch (NoSuchAlgorithmException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return false;
	}
	
	/** getters en setters **/
	
	/**
	 * @return the naam
	 */
	public String getNaam() {
		return naam;
	}

	/**
	 * @param naam the naam to set
	 */
	public void setNaam(String naam) {
		this.naam = naam;
	}

	/**
	 * @return the voornaam
	 */
	public String getVoornaam() {
		return voornaam;
	}

	/**
	 * @param voornaam the voornaam to set
	 */
	public void setVoornaam(String voornaam) {
		this.voornaam = voornaam;
	}

	/**
	 * @return the status
	 */
	public IStatus getStatus() {
		return status;
	}

	/**
	 * @param status the status to set
	 */
	public void setStatus(IStatus status) {
		this.status = status;
	}

	/**
	 * @return the contactpersonen
	 */
	public ContactpersoonLijst getContactpersonen() {
		return contactpersonen;
	}

	/**
	 * @param contactpersonen the contactpersonen to set
	 */
	public void setContactpersonen(ContactpersoonLijst contactpersonen) {
		this.contactpersonen = contactpersonen;
	}

	/**
	 * @return the wachtwoord
	 */
	public String getWachtwoord() {
		return wachtwoord;
	}

	public void setWachtwoord(String wachtwoord){
		try {
			this.wachtwoord = MD5.getMD5(wachtwoord);
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
	}

}
